package com.ag.bean;

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * TbDisposalAdvice entity.
 * 
 * @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "TB_DISPOSAL_ADVICE", schema = "dbo", catalog = "AGDB")
public class TbDisposalAdvice implements java.io.Serializable {

	// Fields

	private String daId;
	private TbUser tbUserByAdviceUId;
	private TbUser tbUserBySubmitUId;
	private TbAdviceWay tbAdviceWay;
	private TbUser tbUserByApplyUId;
	private TbAdviceType tbAdviceType;
	private TbEvent tbEvent;
	private String daContent;//处置建议的建议内容
	private Date daLastestTime;
	private Date daApplyTime;
	private Date daSubmitTime;
	private Date daAcceptTime;
	private String a;
	private String b;//处置建议申请内容
	private String c;//状态位

	// Constructors

	/** default constructor */
	public TbDisposalAdvice() {
	}

	/** minimal constructor */
	public TbDisposalAdvice(String daId, String daContent) {
		this.daId = daId;
		this.daContent = daContent;
	}

	/** full constructor */
	public TbDisposalAdvice(String daId, TbUser tbUserByAdviceUId,
			TbUser tbUserBySubmitUId, TbAdviceWay tbAdviceWay,
			TbUser tbUserByApplyUId, TbAdviceType tbAdviceType,
			TbEvent tbEvent, String daContent, Date daLastestTime,
			Date daApplyTime, Date daSubmitTime, Date daAcceptTime, String a,
			String b, String c) {
		this.daId = daId;
		this.tbUserByAdviceUId = tbUserByAdviceUId;
		this.tbUserBySubmitUId = tbUserBySubmitUId;
		this.tbAdviceWay = tbAdviceWay;
		this.tbUserByApplyUId = tbUserByApplyUId;
		this.tbAdviceType = tbAdviceType;
		this.tbEvent = tbEvent;
		this.daContent = daContent;
		this.daLastestTime = daLastestTime;
		this.daApplyTime = daApplyTime;
		this.daSubmitTime = daSubmitTime;
		this.daAcceptTime = daAcceptTime;
		this.a = a;
		this.b = b;
		this.c = c;
	}

	// Property accessors
	@Id
	@Column(name = "DA_ID", unique = true, nullable = false, length = 10)
	public String getDaId() {
		return this.daId;
	}

	public void setDaId(String daId) {
		this.daId = daId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ADVICE_U_ID")
	public TbUser getTbUserByAdviceUId() {
		return this.tbUserByAdviceUId;
	}

	public void setTbUserByAdviceUId(TbUser tbUserByAdviceUId) {
		this.tbUserByAdviceUId = tbUserByAdviceUId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "SUBMIT_U_ID")
	public TbUser getTbUserBySubmitUId() {
		return this.tbUserBySubmitUId;
	}

	public void setTbUserBySubmitUId(TbUser tbUserBySubmitUId) {
		this.tbUserBySubmitUId = tbUserBySubmitUId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "AW_ID")
	public TbAdviceWay getTbAdviceWay() {
		return this.tbAdviceWay;
	}

	public void setTbAdviceWay(TbAdviceWay tbAdviceWay) {
		this.tbAdviceWay = tbAdviceWay;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "APPLY_U_ID", nullable = false)
	public TbUser getTbUserByApplyUId() {
		return this.tbUserByApplyUId;
	}

	public void setTbUserByApplyUId(TbUser tbUserByApplyUId) {
		this.tbUserByApplyUId = tbUserByApplyUId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "AT_ID")
	public TbAdviceType getTbAdviceType() {
		return this.tbAdviceType;
	}

	public void setTbAdviceType(TbAdviceType tbAdviceType) {
		this.tbAdviceType = tbAdviceType;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "E_ID")
	public TbEvent getTbEvent() {
		return this.tbEvent;
	}

	public void setTbEvent(TbEvent tbEvent) {
		this.tbEvent = tbEvent;
	}

	@Column(name = "DA_CONTENT", length = 1024)
	public String getDaContent() {
		return this.daContent;
	}

	public void setDaContent(String daContent) {
		this.daContent = daContent;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "DA_LASTEST_TIME", length = 23)
	public Date getDaLastestTime() {
		return this.daLastestTime;
	}

	public void setDaLastestTime(Date daLastestTime) {
		this.daLastestTime = daLastestTime;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "DA_APPLY_TIME", length = 23)
	public Date getDaApplyTime() {
		return this.daApplyTime;
	}

	public void setDaApplyTime(Date daApplyTime) {
		this.daApplyTime = daApplyTime;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "DA_SUBMIT_TIME", length = 23)
	public Date getDaSubmitTime() {
		return this.daSubmitTime;
	}

	public void setDaSubmitTime(Date daSubmitTime) {
		this.daSubmitTime = daSubmitTime;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "DA_ACCEPT_TIME", length = 23)
	public Date getDaAcceptTime() {
		return this.daAcceptTime;
	}

	public void setDaAcceptTime(Date daAcceptTime) {
		this.daAcceptTime = daAcceptTime;
	}

	@Column(name = "A", length = 50)
	public String getA() {
		return this.a;
	}

	public void setA(String a) {
		this.a = a;
	}

	@Column(name = "B", nullable = false, length = 1024)
	public String getB() {
		return this.b;
	}

	public void setB(String b) {
		this.b = b;
	}

	@Column(name = "C", length = 50)
	public String getC() {
		return this.c;
	}

	public void setC(String c) {
		this.c = c;
	}

}